1. Field of Invention
The invention relates to computer I/O devices, and particularly to SCSI devices.
2. Related Art
Small Computer System Interface (SCSI) is a standardized intelligent bus for transmitting data and commands between a variety of I/O devices, including disk drives, scanners, and CD-ROM devices. Since its inception in the mid-1980's, SCSI has evolved through several generations, including SCSI-1, SCSI-2, and SCSI-3. Each generation is its own standard developed and/or maintained by the American National Standards Institute (ANSI). Further, each generation is generally backward compatible with the last generation. Thus, each generation includes or is responsive to at least the signals defined in the prior generation.
Each SCSI generation supports a faster data transfer rate than the last. For instance, the SCSI-1 standard supports the transmission of 8-bits of data at up to 5 MBps. The SCSI-2 standard also supports an 8-bit data bus at a rate of up to 5 MBps or, if the "Fast SCSI" variation of SCSI-2 is used, up to 10 MBps. SCSI-2 also optionally supports a wide data bus of 16 or 32 bits (Wide SCSI). Wide SCSI can transmit 16 bits of data at speeds of 20 MBps and 32 bits of data at speeds of 40 MBps. SCSI-3 supports a mode of operation called Fast-20 SCSI, also known as Ultra SCSI or Double Speed SCSI. With an 8-bit data bus, Fast-20 can transmit data at up to 20 MBps, and with a 16-bit data bus, at up to 40 MBps.
Generally, SCSI devices and busses that support an 8-bit data bus are referred to as narrow devices and SCSI devices and busses that support a 16- or 32-bit data bus are referred to as wide devices. In addition to the data signals, however, a parity bit may also be transmitted and is used for error checking. Thus, a so-called narrow data bus may actually transmit 9-bits. Other similar types of signals may be added and transmitted as data that do not affect the characterization of a narrow device as narrow or a wide device as wide. Further, other command signals are also transmitted through the SCSI bus in addition to the data signals.
Structurally, each SCSI device is coupled to another SCSI device via a cable, which houses the SCSI bus. The SCSI bus operates in a backbone configuration, i.e., one that essentially has two main ends with only very short drops (or stubs) between the ends to connect various devices to the bus. The SCSI bus cannot operate in a loop, a star (or hub), or a T-shape configuration due to reflections and signal degradation. The short drops are designed so as not to be long enough to cause signal reflections significant enough to affect system operation.
To further avoid signal degradation, the cables used for the SCSI bus are subject to stringent specifications. For instance, with a narrow, fast SCSI-2 system, the cable length cannot exceed three meters, and each drop (or stub) from the main cable to each device cannot exceed 0.1 meters. Further, the distance between the stubs must be at least 0.3 meters.
Moreover, each end of the SCSI bus must be terminated to attenuate signal reflections. The SCSI bus itself has a specific impedance. When signals reach the end of the bus, they encounter the air, which has a much higher impedance than the bus itself and which acts like a wall, reflecting the signals back down the SCSI bus. A terminator absorbs the signals and minimizes reflections, typically by a technique known as impedance matching. Terminators are generally fixed or soft. Fixed, or permanent, terminators are always enabled to perform a termination function. Soft terminators can be enabled or disabled to perform a termination function as needed. The soft terminator can be enabled/disabled manually, e.g., with a switch or by physically removing/inserting the terminator, or may be done automatically e.g., via various sensing circuitry such as current sensing or ground sensing circuitry.
To support SCSI connectivity, SCSI cards such as those illustrated in the block diagrams of FIGS. 1 and 2 are placed within a host enclosure, e.g., a PC housing. SCSI cards interact with other parts of the computer system, e.g., the CPU, and serve as a control center for attached SCSI devices. SCSI cards are also often referred to as host adapter or controller cards. SCSI cards typically come in two varieties: narrow and wide.
FIG. 1 shows part of a narrow SCSI card 100. Card 100 includes a narrow internal connector 102 and a narrow external connector 104 coupled with a narrow SCSI bus 106. An internal connector is generally for coupling devices internal to the host enclosure to the SCSI card. An external connector is generally for coupling devices external to the host enclosure to the SCSI card.
A soft terminator 108 is also coupled to the narrow bus 106. If a narrow SCSI device is coupled to connector 102, but no device is coupled to connector 104, then the soft terminator is enabled, terminating the SCSI bus at one end (the other end of the bus is conventionally terminated by a fixed terminator coupled to the narrow SCSI device). Similarly, if a device is coupled to connector 104, but no device is coupled to connector 102, the soft terminator is also enabled. If devices are coupled to each connector 102 and 104, however, then the soft terminator is disabled as it will no longer be at either end of the SCSI bus.
FIG. 2 shows part of a wide SCSI card 200. Card 200 includes a wide internal connector 202, a wide external connector 204, and optionally a narrow internal connector 203. A wide bus 208 is coupled to wide internal connector 202 and wide external connector 204. Wide bus 208 is composed of a lower bus 206 and an upper bus 207, where the lower bus 206 is generally the lower eight (or nine, if a parity bit is used) data bits. The lower bus 206 is further coupled to narrow internal connector 203. Bus 208 is further coupled to a soft terminator 210.
As with the narrow card of FIG. 1, the soft terminator 210 is enabled or disabled depending on whether a SCSI device is coupled on either or both sides of the terminator. For instance, if an internal wide device is coupled to connector 202, but no device is coupled to connector 204, then terminator 210 senses that it is the termination point of the lower bus and is enabled to terminate the lower bus and the upper bus. If a wide external device is coupled to connector 204, and a wide internal device is coupled to connector 202, then terminator 210 is disabled.
Narrow SCSI cards tend to be less expensive to the consumer than wide SCSI cards. Narrow cards, however, do not support connectivity with wide devices. Wide cards, while more expensive, do not allow direct attachment to external narrow devices, although connection to external narrow devices can be accomplished with an adapter. Adapters, in fact, are purchased by a significant number of consumers because, although a commonly used wide device is a hard disk drive, most devices to be attached to a SCSI system are narrow devices, e.g., CD-ROM drives, scanners.
Currently available wide-to-narrow adapters are designed solely for external use and are designed to couple directly to the SCSI card (i.e., connector 204 in FIG. 2). If an adapter is used to attach a narrow device to a wide card, i.e., attach the lower bus of the wide card to the narrow device, the upper bus must be terminated, otherwise reflections will become problematic. Most adapters available, however, do not terminate the upper bus, leaving the upper bus floating, while the lower bus simply passes through the adaptive device. Nonetheless, the entire bus, both upper and lower, will ultimately have to be terminated.
Other adapters currently available permanently terminate the upper bus while allowing lower bus signals to pass through. Such a permanent terminator, however, is often problematic. Most SCSI cards include an upper bus terminator, as in FIG. 2. Nonetheless, while the presence or absence of a device can be sensed on the lower bus, e.g., by current sensing or ground sensing on various control lines of the lower bus, no such sensing ability is available on the upper bus, as the upper bus does not carry signals suitable for sensing the presence of a device. Thus, as shown in FIG. 2, if the terminator on the lower bus is enabled, the upper bus is also terminated (i.e., the upper bus termination is not enabled/disabled independent from the lower bus). To enable or disable the upper bus independently of the lower bus, the only alternative currently available is by manual adjustment, e.g., via switches or physical removal/insertion of the terminator itself. In fact, no method is currently available for reliably sensing the presence of a device on the upper bus, let alone for sensing the presence of a terminator on the upper bus. Therefore, the situation often occurs when using an adapter with a built-in upper bus terminator, that three terminators can be simultaneously enabled on the upper bus: one at either end, and one in the middle. While a SCSI bus requires terminators at either end for signal absorption, a terminator in between those ends will modify the transmission line characteristics and cause interference. Because of this three-terminator problem, most adapters do not include a built-in upper bus terminator.
SCSI cards currently available have another significant drawback. Since SCSI must operate in a backbone configuration, all three connectors of the wide card shown in FIG. 2 cannot be used simultaneously. If all three connectors are used simultaneously, the resulting bus structure is T-shaped, a design that will not function properly. Thus only a limited number of combinations of devices can be simultaneously supported by the SCSI card of FIG. 2 (e.g., external wide and internal wide devices; external wide and internal narrow devices; but not external wide, internal wide, and internal narrow devices simultaneously). To overcome this problem and allow three or more types of devices to be simultaneously connected to the system, the most common solution used is to purchase two SCSI cards: often, a wide card and a narrow card. The purchase of a second SCSI card amounts to significant additional expense to the consumer merely to allow simultaneous connectivity of commonly available SCSI devices.
Despite the rapidity of advancement in the SCSI arena, including the development of new generations of SCSI protocols and the development of I/O devices, and despite the demand of consumers for reliable and simultaneous access to peripheral I/O devices, no inexpensive solutions have been offered. Consumers must continue to buy multiple SCSI host-adapter cards, wide-to-narrow adapters, and terminators of various sizes at considerable expense to achieve a fully connective system.